// function xxx(x: number, y: number): number {
//   return x + y
// }

// let yyy: (x: number, y: number) => number = function (
//   x: number,
//   y: number
// ): number {
//   return x + y
// }

// interface Ifunc {
//   (x: number, y: number): number
// }

// let yyy: Ifunc = function (x: number, y: number): number {
//   return x + y
// }

// let yyy = (x: number = 18, y: number, z: number = 99): number => {
//   return x + y
// }

// yyy(1,2)
// function reverse(x: number): number;
// function reverse(x: string): string;
// function reverse(x: number | string): number | string{
//   if (typeof x === 'number') {
//     return Number(x.toString().split('').reverse().join(''))
//   } else if (typeof x === 'string') {
//     return x.split('').reverse().join('')
//   }
// }

// reverse('123').
